Biometric identification is used to verify the identity of a person by digitally measuring selected features of some physical characteristic and comparing those measurements with those filed for the person in a reference database, or sometimes on a smart card carried by the person. Physical characteristics that are being used include fingerprints, voiceprints, the geometry of the hand, the pattern of blood vessels on the wrist and on the retina of the eye, the topography of the iris of the eye, facial patterns and the dynamics of writing a signature and typing on a keyboard.
The fingerprint is one of the most widely used physical characteristics in biometric identification. Fingerprints are utilized as the most reliable means to identify individuals because of two outstanding characteristics; namely that they remain unchanged all through life and differ from individual to individual. Fingerprints consist of raised friction ridges of skin separated by recessed valleys of skin. Fingerprint “minutiae” are conventionally defined as ridge endings or ridge bifurcations where a ridge splits into two ridges.
Since the matching of a fingerprint as an image can require large file capacity to store the measured and referenced features and complex computation to match measured features with reference features, fingerprint identification is carried out using the positional relationship of features or minutiae that are extracted from the fingerprint image. The minutiae representing a fingerprint image are digitized and stored in a digital memory, which may be a readonly memory, magnetic tape, or the like. A fingerprint digitized in this manner may be compared with reference fingerprints stored in the memory. For the comparison to work, the reference fingerprint and the measured fingerprint must be extracted, characterized, and digitized so that the fingerprint templates contain the same information and have the same format.
One application of fingerprint identification is to use the fingerprint to unlock a smart card which often contains encrypted information. Presently, a PIN (personal identification number) is required to be entered by the user before the encrypted information can be extracted from the smart card and used. The use of a PIN has many drawbacks. For example, the accounting or card issuing organization faces significant administrative cost in handling the secret codes and the card holders have to memorize the secret codes.
Some privacy laws, for example, the privacy laws in Europe, require sensitive information such as a reference fingerprint template to be stored on the smart card in a way that it cannot leave the card without first unlocking the card with a PIN. Therefore, for a fingerprint matching scheme to be practical in Europe, the fingerprint template matching algorithm must be executed by a microprocessor in the smart card. Otherwise, the smart card must be unlocked by some other mechanism, such as a PIN, before the reference fingerprint template can be read. The difficulty of executing conventional fingerprint template matching algorithm on a smart card is mainly due to the limited computational capabilities and memory of a conventional smart card. For example, a conventional smart card typically has less than 512 bytes of RAM (with 256 bytes being typical) and between 1 Kilobyte and 16 Kilobytes of memory. An 8-bit RISC (reduced instruction set computer) microprocessor has a speed between 1 MegaHertz to 10 MegaHertz which is quite slow given the magnitude of the computations required to complete a comparison between a measured fingerprint and a reference fingerprint. In effect, the hardware constraints prevent the use of fingerprint to unlock data from smart cards.
In addition to hardware constraints, another important design criterion is cost. U.S. Pat. No. 4,582,985 (hereinafter, the '985 patent) entitled “Data Carrier”, issued Apr. 15, 1986, to Bo Löfberg and hereby incorporated by reference in its entirety, describes a data carrier of a card type. According to the '985 patent, the data carrier includes a fingerprint verification device for carrying out the verification process. The verification device includes a sensor device for sensing a finger tip of the owner and obtaining the corresponding finger print line information. A specialized smart card must be used to accommodate the sensor device since a conventional smart card does not provide such accommodations. In addition, since the fingerprint template generation, storage, and comparison are done at the data carrier, the microprocessor of a conventional smart card is not adequate. Hence, a specialized smart card having a more capable processor must be used, thereby increasing cost.
Therefore, what is needed are systems and fingerprint template matching algorithms that can be executed by a microprocessor with low memory and low computational capacities, thereby keeping the cost of the smart card at an acceptable level.